package demo06;

/*
 *  StringBuilder类的成员方法：
 *      public StringBuilder append(...)：添加任意类型数据的字符串形式，并返回当前对象自身
 *      参数：可以是任意的数据类型
 */
public class Demo02StringBuilder {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder();
        StringBuilder stringBuilder2 = stringBuilder.append("abc"); // 使用append方法往stringBuilder中添加数据，返回值是this，即调用方法的对象
        System.out.println(stringBuilder); // abc
        System.out.println(stringBuilder2); // abc
        System.out.println(stringBuilder == stringBuilder2); // true，两个对象是同一个对象

        // 使用append方法无需接收返回值，调用者自身数据会相应改变
        stringBuilder.append("def");
        stringBuilder.append(1);
        stringBuilder.append(true);
        stringBuilder.append(0.11);
        stringBuilder.append('土');
        System.out.println(stringBuilder); // abcdef1true0.11土，各类数据皆可接收

        /*
         *  链式编程：方法的返回值是一个对象，即可根据对象继续调用方法
         */
        System.out.println(new StringBuilder()
                .append("abcdef").append(1).append(true)
                .append(0.11).append('土')); // 结果与上方stringBuilder对象相同
    }
}
